#ifndef _SW_MONITOR_H_
#define _SW_MONITOR_H_

#if defined (__cplusplus)
    extern "C" {
#endif

#include "od_engine.h"

typedef enum{
    SW_MONITOR_LOOPBACK_CTRL = 0,
    SW_MONITOR_NUMS, //contrl MAX params
}sw_monitor_id_refs;

typedef struct {
    char tsk_name[OD_MAX_OBJ_NAME];
    param_rpc_handle rpc_handle;
    char post_name[OD_MAX_PATH_LEN];
    int sw_monitor_id;
    int notify_id;
}sw_monitor_static_params;

typedef  struct sw_monitor_dynamic_params_s{
    int loopback_ctrl;
}sw_monitor_dynamic_params;

extern const sw_monitor_dynamic_params glb_sw_monitor_dynamic_params_default;

typedef void * sw_monitor_handle;

sw_monitor_handle sw_monitor_create(sw_monitor_static_params * static_params,
                                    sw_monitor_dynamic_params * dynamic_params);


#if defined (__cplusplus)
}
#endif

#endif

